package com.hsurosy.hsuchain.nft.api.collection.request;

import com.hsurosy.hsuchain.nft.api.collection.constant.CollectionEvent;
import com.hsurosy.hsuchain.nft.api.collection.constant.CollectionSaleBizType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 藏品销售请求类
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-04 14:49
 * @Description
 * @Version: v1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CollectionSaleRequest extends BaseCollectionRequest {

    /**
     * 藏品名称
     */
    private String name;

    /**
     * 藏品封面
     */
    private String cover;

    /**
     * 藏品类目ID
     */
    private String classId;

    /**
     * 购入价格
     */
    private BigDecimal purchasePrice;

    /**
     * 持有人ID
     */
    private String userId;

    /**
     * 销售数量
     */
    private Long quantity;

    /**
     * 业务单号
     */
    private String bizNo;

    /**
     * 业务类型
     * @see CollectionSaleBizType
     */
    private String bizType;

    /**
     * 获取事件类型
     *
     * @return 藏品事件类型（销售）
     */
    @Override
    public CollectionEvent getEventType() {
        return CollectionEvent.SALE;
    }
}
